home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Think Class Libraries / Item Class / Item headers / CrewPositions.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-30  |  1.7 KB  |  65 lines  |  [TEXT/KAHL]

  1. /*
  2.  *
  3.  *    Filename : CrewPositions.h
  4.  *
  5.  *    Author     Atul Barve
  6.  *    Date       Tuesday, July 27, 1993
  7.  *
  8.  */
  9. #pragma once
  10.  
  11.  
  12. typedef struct CrewPositions {
  13.  
  14.     short    captain : 1;
  15.     short     firstOfficer : 1;
  16.     short     flightEngineer : 1;
  17.     short     firstOfficerB : 1;
  18.     short     firstOfficerC : 1;
  19.     short    shortlOfficer: 1;
  20.     short     rlfCaptain : 1;
  21.     short     position01 : 1;
  22.     short     position02 : 1;
  23.     short     position03 : 1;
  24.     short     position04 : 1;
  25.     short     position05 : 1;
  26.     short     position06 : 1;
  27.     short     position07 : 1;
  28.     short     position08 : 1;
  29.     short     position09 : 1;
  30.     short     position10 : 1;
  31.     short     position11 : 1;
  32.     short     position12 : 1;
  33.     short     position13 : 1;
  34.     short     position14 : 1;
  35.     short     position15 : 1;
  36.     short     position16 : 1;
  37.     short    positionVM : 4;
  38.     short    positionFA : 4;
  39. } CrewPositions;
  40.  
  41. CrewPositions     ORCrewPosition(CrewPositions pos1, CrewPositions pos2);
  42. CrewPositions     ANDCrewPosition(CrewPositions pos1, CrewPositions pos2);
  43. CrewPositions     XORCrewPosition(CrewPositions pos1, CrewPositions pos2);
  44. CrewPositions     DIFFCrewPosition(CrewPositions pos1, CrewPositions pos2);
  45. Boolean            FirstPosition(CrewPositions pos1, char *pos);
  46. short            CountPositions(CrewPositions pos1, short posType);
  47.  
  48.  
  49. Boolean         IsNullCrewPosition(CrewPositions pos1);
  50. CrewPositions     ConvertOpenPosition(char *pos, CrewPositions op);
  51. Boolean         PositionThere(CrewPositions op, char *pos);
  52. CrewPositions     ClearOpenPosition(char *pos, CrewPositions op);
  53. CrewPositions     CrewPositionToStr(CrewPositions op, char *pos);
  54. void             BuildCrewStr(CrewPositions pos1,
  55.                              char *buffer,
  56.                              short allowVM,
  57.                              char    *delimeter);
  58. short             CmpCrewPositions(CrewPositions pos1, CrewPositions pos2);
  59. short            IsOnlyVMPos(CrewPositions pos);
  60.  
  61. #define kAllPositions    0
  62. #define kFAPositions    1
  63. #define kPilotPositions    2
  64.  
  65.